<html>
<head>
	<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
	<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet">
	<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
</head>
<style>
/* Chevrons */
.bs-docs-sidenav .icon-chevron-right {
  float: right;
  margin-top: 2px;
  margin-right: -6px;
  opacity: .25;
}
.bs-docs-sidenav > li > a:hover {
  background-color: #f5f5f5;
}
.bs-docs-sidenav a:hover .icon-chevron-right {
  opacity: .5;
}
.bs-docs-sidenav .active .icon-chevron-right,
.bs-docs-sidenav .active a:hover .icon-chevron-right {
  background-image: url(../img/glyphicons-halflings-white.png);
  opacity: 1;
}
.bs-docs-sidenav.affix {
  top:80px;
}
.bs-docs-sidenav.affix-bottom {
  position: absolute;
  top: auto;
  bottom: 270px;
}


/* Sidenav for Docs
-------------------------------------------------- */

.bs-docs-sidenav {
  width: 228px;
  margin: 30px 0 0;
  padding: 0;
  background-color: #fff;
  -webkit-border-radius: 6px;
     -moz-border-radius: 6px;
          border-radius: 6px;
  -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.065);
     -moz-box-shadow: 0 1px 4px rgba(0,0,0,.065);
          box-shadow: 0 1px 4px rgba(0,0,0,.065);
}
.bs-docs-sidenav > li > a {
  display: block;
  width: 190px \9;
  margin: 0 0 -1px;
  padding: 8px 14px;
  border: 1px solid #e5e5e5;
}
.bs-docs-sidenav > li:first-child > a {
  -webkit-border-radius: 6px 6px 0 0;
     -moz-border-radius: 6px 6px 0 0;
          border-radius: 6px 6px 0 0;
}
.bs-docs-sidenav > li:last-child > a {
  -webkit-border-radius: 0 0 6px 6px;
     -moz-border-radius: 0 0 6px 6px;
          border-radius: 0 0 6px 6px;
}
.bs-docs-sidenav > .active > a {
  position: relative;
  z-index: 2;
  padding: 9px 15px;
  border: 0;
  text-shadow: 0 1px 0 rgba(0,0,0,.15);
  -webkit-box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
     -moz-box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
          box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
}

</style>
<body>
    <!-- 整页 -->

    <div id="fullpage" class="contents">

      
<div class="apidoc-index container">

  <h1>QeePHP API 参考手册</h1>

  <p>API 参考手册提供了 QeePHP 所有对象和方法的参考信息和用法示例。是日常使用必备的参考文档。</p>
<div class="row">
	<div class=" bs-docs-sidebar span3">
	  	<ul id="tabs-packages " class="nav nav-list bs-docs-sidenav affix">
	    	    <li><a href="#package-core">core</a></li>
	    	    <li><a href="#package-mvc">mvc</a></li>
	    	    <li><a href="#package-orm">orm</a></li>
	    	    <li><a href="#package-form">form</a></li>
	    	    <li><a href="#package-database">database</a></li>
	    	    <li><a href="#package-helper">helper</a></li>
	    	    <li><a href="#package-cache">cache</a></li>
	    	    <li><a href="#package-webcontrols">webcontrols</a></li>
	    	    <li><a href="#package-behavior">behavior</a></li>
	    	    <li><a href="#package-exception">exception</a></li>
	    	    <li><a href="#package-debug">debug</a></li>
	    	
	  </ul>
	</div>
	<div class="span9">
  
  <div class="package" id="package-core">

    <h2>包 - core</h2>

    <div class="package-classes">
            <tr>
                  
<p>Core 包是 QeePHP 核心类的集合，QeePHP
的其他所有功能都依赖核心类提供的服务</p>

<p>QeePHP 核心类提供下列服务：</p>

<ul>
	<li>设置的读取和修改；</li>

	<li>类定义文件的搜索和载入；</li>

	<li>对象的单子模式实现，以及对象注册和检索；</li>

	<li>统一缓存接口；</li>

	<li>基本工具方法；</li>

	<li>类型安全的集合；</li>

	<li>日志服务；</li>

	<li>辅助调试工具；</li>

	<li>以及运行时上下文对象。</li>
</ul>

        
          <h4 class="class-name">
            <a href="./class-q.html">Q</a>
          </h4>
          <p class="class-summary">
            类 Q 是 QeePHP 框架的核心类，提供了框架运行所需的基本服务          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qexception.html">QException</a>
          </h4>
          <p class="class-summary">
            QException 是 QeePHP 所有异常的基础类          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qcoll.html">QColl</a>
          </h4>
          <p class="class-summary">
            QColl 实现了一个类型安全的对象集合          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qcontext.html">QContext</a>
          </h4>
          <p class="class-summary">
            QContext 封装了运行时上下文          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qlog.html">QLog</a>
          </h4>
          <p class="class-summary">
            类 QLog 实现了一个简单的日志记录服务          </p>
      
    </div>
  </div>

  
  <div class="package" id="package-mvc">

    <h2>包 - mvc</h2>

    <div class="package-classes">
            <tr>
                  
<p>在 QeePHP 中，MVC 包实现了 MVC 模式。</p>

<p>QeePHP 的 MVC 默认实现包含下列功能：</p>

<ul>
	<li>基于角色的访问控制</li>

	<li>URL 路由解析</li>

	<li>高级视图架构</li>

	<li>请求转发等</li>
</ul>

        
          <h4 class="class-name">
            <a href="./class-qacl.html">QACL</a>
          </h4>
          <p class="class-summary">
            QACL 实现了权限检查服务          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qcontroller-abstract.html">QController_Abstract</a>
          </h4>
          <p class="class-summary">
            QController_Abstract 实现了一个其它控制器的基础类          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qcontroller-forward.html">QController_Forward</a>
          </h4>
          <p class="class-summary">
            QController_Forward 将请求转发到另一个控制器动作执行          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qrouter.html">QRouter</a>
          </h4>
          <p class="class-summary">
            QRouter 实现了自定义路由解析          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qview-output.html">QView_Output</a>
          </h4>
          <p class="class-summary">
            类 QView_Output 用于向浏览器直接输出数据（例如下载文件）          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qview-redirect.html">QView_Redirect</a>
          </h4>
          <p class="class-summary">
            QView_Redirect 类封装了一个浏览器重定向操作          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qview-render-php.html">QView_Render_PHP</a>
          </h4>
          <p class="class-summary">
            QView_Render_PHP 类实现了视图架构的基础          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qview-render-php-parser.html">QView_Render_PHP_Parser</a>
          </h4>
          <p class="class-summary">
            QView_Render_PHP_Parser 类实现了视图的分析          </p>
      
    </div>
  </div>

  
  <div class="package" id="package-orm">

    <h2>包 - orm</h2>

    <div class="package-classes">
            <tr>
                  
<p>ActiveRecord 是 QeePHP 默认的 ORM 解决方案。</p>

<p>QeePHP 的 ActiveRecord
支持复杂的对象关系管理，以及完善的事件响应机制。</p>

<p>主要特征：</p>

<ul>
	<li>支持超过 20 种不同的事件</li>

	<li>行为插件机制可以透明的改变模型工作方式</li>

	<li>完全自定义的验证规则</li>

	<li>高级安全特征</li>

	<li>对象关系导航</li>

	<li>类型安全</li>

	<li>可扩展的模型</li>

	<li>元编程</li>
</ul>

        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-behavior-abstract.html">QDB_ActiveRecord_Behavior_Abstract</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_Behavior_Abstract 抽象类是所有行为插件的基础类          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-abstract.html">QDB_ActiveRecord_Abstract</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_Abstract 类实现了 Active Record 模式          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-association-abstract.html">QDB_ActiveRecord_Association_Abstract</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_Association_Abstract 封装 ActiveRecord 之间的关联关系          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-association-belongsto.html">QDB_ActiveRecord_Association_BelongsTo</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_Association_BelongsTo 类封装 ActiveRecord 对象之间的 belongs to 关联          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-association-coll.html">QDB_ActiveRecord_Association_Coll</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_Association_Coll 封装了对象的关联关系，并且提供操作这些关联关系的方法          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-association-hasmany.html">QDB_ActiveRecord_Association_HasMany</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_Association_HasMany 类封装数据表之间的 has many 关联          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-association-hasone.html">QDB_ActiveRecord_Association_HasOne</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_Association_HasOne 类封装了对象见的一对一关系          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-association-manytomany.html">QDB_ActiveRecord_Association_ManyToMany</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_Association_ManyToMany 类封装 ActiveRecord 对象之间的 many to many 关联          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-meta.html">QDB_ActiveRecord_Meta</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_Meta 类封装了 QDB_ActiveRecord_Abstract 继承类的元信息          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-view.html">QDB_ActiveRecord_View</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_View 类模拟数据库视图的形式实现 Active Record 模式          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-viewmeta.html">QDB_ActiveRecord_ViewMeta</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_ViewMeta 类封装了 QDB_ActiveRecord_View 继承类的元信息          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-callbacks.html">QDB_ActiveRecord_Callbacks</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_Callbacks 定义了 ActiveRecord 对象及行为插件可用的回调类型          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-interface.html">QDB_ActiveRecord_Interface</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_Interface 接口确定了所有 QDB_ActiveRecord_Abstract 继承类必须实现的静态方法          </p>
      
    </div>
  </div>

  
  <div class="package" id="package-form">

    <h2>包 - form</h2>

    <div class="package-classes">
            <tr>
                  
<p>QForm
是一种创新的表单封装模式，完美分离了表单的数据、行为和表现。</p>

<p>QForm 的主要特征：</p>

<ul>
	<li>完美分离表单的数据、行为和表现</li>

	<li>自定义过滤器</li>

	<li>自定义验证规则</li>

	<li>可以从配置文件构造表单</li>

	<li>完善的错误处理机制</li>

	<li>100% 可定制的表单渲染</li>
</ul>

        
          <h4 class="class-name">
            <a href="./class-qform-element.html">QForm_Element</a>
          </h4>
          <p class="class-summary">
            QForm_Element 类封装了表单中的一个值元素          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qform-group.html">QForm_Group</a>
          </h4>
          <p class="class-summary">
            类 QForm_Group 是容纳多个元素或群组的集合          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qform.html">QForm</a>
          </h4>
          <p class="class-summary">
            类 QForm 封装了表单的数据和行为          </p>
      
    </div>
  </div>

  
  <div class="package" id="package-database">

    <h2>包 - database</h2>

    <div class="package-classes">
            <tr>
                  
<p>QeePHP
的数据库访问层支持多种数据库，并且具有强大的扩展能力。</p>

<p>主要特征：</p>

<ul>
	<li>QDB_Select 实现的连贯接口，支持多种数据库查询方式</li>

	<li>QDB_Expr 封装了数据库表达式，方便构造灵活的查询</li>

	<li>QDB_Cond
	封装了查询条件，可以构造任意复杂度的查询条件</li>

	<li>QDB_Table
	实现了可扩展的表数据入口，对复合主键有完善的支持</li>

	<li>可动态切换的数据库连接，满足分布式数据库应用的开发</li>
</ul>

        
          <h4 class="class-name">
            <a href="./class-qdb-adapter-abstract.html">QDB_Adapter_Abstract</a>
          </h4>
          <p class="class-summary">
            QDB_Adapter_Abstract 是所有数据库驱动的抽象基础类          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-adapter-mysql.html">QDB_Adapter_Mysql</a>
          </h4>
          <p class="class-summary">
            QDB_Mysql 提供了对 mysql 数据库的支持          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-adapter-pdo-abstract.html">QDB_Adapter_Pdo_Abstract</a>
          </h4>
          <p class="class-summary">
            QDB_Adapter_Pdo_Abstract 类是所有 PDO 驱动的基础类          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-adapter-pdo-exception.html">QDB_Adapter_Pdo_Exception</a>
          </h4>
          <p class="class-summary">
            QDB_Adapter_Pdo_Exception 异常封装所有 PDO 操作错误          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-adapter-pdo-pgsql.html">QDB_Adapter_Pdo_Pgsql</a>
          </h4>
          <p class="class-summary">
            QDB_Adapter_Pdo_Pgsql 类提供对 PostgreSQL 的支持          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-adapter-pgsql.html">QDB_Adapter_Pgsql</a>
          </h4>
          <p class="class-summary">
            定义 QDB_Adapter_Pgsql 类          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-cond.html">QDB_Cond</a>
          </h4>
          <p class="class-summary">
            QDB_Cond 类封装复杂的查询条件          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb.html">QDB</a>
          </h4>
          <p class="class-summary">
            类 QDB 提供了 QeePHP 访问数据库的基本接口。          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-expr.html">QDB_Expr</a>
          </h4>
          <p class="class-summary">
            QDB_Expr 封装一个表达式          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-result-abstract.html">QDB_Result_Abstract</a>
          </h4>
          <p class="class-summary">
            QDB_Result_Abstract 是封装查询结果对象的抽象基础类          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-result-mysql.html">QDB_Result_Mysql</a>
          </h4>
          <p class="class-summary">
            QDB_Result_Mysql 封装了一个 mysql 查询句柄，便于释放资源          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-result-pdo.html">QDB_Result_Pdo</a>
          </h4>
          <p class="class-summary">
            QDB_Result_Pdo 类封装了 PDO 查询结果          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-result-pgsql.html">QDB_Result_Pgsql</a>
          </h4>
          <p class="class-summary">
            QDB_Result_Pgsql 封装了一个 PostgreSQL 查询句柄，便于释放资源          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-select.html">QDB_Select</a>
          </h4>
          <p class="class-summary">
            QDB_Select 类实现了一个数据库查询接口，提供了进行复杂查询的能力          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-table.html">QDB_Table</a>
          </h4>
          <p class="class-summary">
            QDB_Table 类（表数据入口）封装数据表的 CRUD 操作          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-table-lite.html">QDB_Table_Lite</a>
          </h4>
          <p class="class-summary">
            QDB_Table_Lite类 在程序运行中创建QDB_Table对象而不用事先创建类          </p>
      
    </div>
  </div>

  
  <div class="package" id="package-helper">

    <h2>包 - helper</h2>

    <div class="package-classes">
            <tr>
                  
<p>Helper 包提供了大量简单易用的辅助工具。</p>

<p>主要包括：</p>

<ul>
	<li>文件系统操作</li>

	<li>数组操作</li>

	<li>图像操作</li>

	<li>验证码生成</li>

	<li>上传文件处理</li>

	<li>YAML 解析与输出</li>

	<li>DOM 工具</li>

	<li>过滤器</li>

	<li>验证器</li>
</ul>

        
          <h4 class="class-name">
            <a href="./class-helper-filesys.html">Helper_Filesys</a>
          </h4>
          <p class="class-summary">
            Helper_Filesys 类提供了一组简化文件系统操作的方法          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-helper-array.html">Helper_Array</a>
          </h4>
          <p class="class-summary">
            Helper_Array 类提供了一组简化数组操作的方法          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdom-document.html">QDom_Document</a>
          </h4>
          <p class="class-summary">
            QDom_Document 类对PHP5自带的DOMDocument进行了自己的扩展          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdom-element.html">QDom_Element</a>
          </h4>
          <p class="class-summary">
            QDom_Element 类对PHP5自带的DOMElement进行了自己的扩展          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qfilter.html">QFilter</a>
          </h4>
          <p class="class-summary">
            类 QFilter 实现了过滤器接口，以及一些常用的过滤器方法          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-helper-image.html">Helper_Image</a>
          </h4>
          <p class="class-summary">
            Helper_Image 类封装了针对图像的操作          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-helper-imagegd.html">Helper_ImageGD</a>
          </h4>
          <p class="class-summary">
            Helper_ImageGD 类封装了一个 gd 句柄，用于对图像进行操作          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-helper-imgcode.html">Helper_ImgCode</a>
          </h4>
          <p class="class-summary">
            Helper_ImgCode 类提供验证码生成和检验的接口          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-helper-imgcodesimple.html">Helper_ImgCodeSimple</a>
          </h4>
          <p class="class-summary">
            Helper_ImgCodeSimple 实现了一个简单样式的验证码          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-helper-imgcodettf.html">Helper_ImgCodeTTF</a>
          </h4>
          <p class="class-summary">
            Helper_ImgCodeTTF 使用 ttf 字体生成验证码          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-helper-uploader.html">Helper_Uploader</a>
          </h4>
          <p class="class-summary">
            Helper_Uploader 类封装了针对上传文件的操作          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-helper-uploader-file.html">Helper_Uploader_File</a>
          </h4>
          <p class="class-summary">
            Helper_Uploader 类封装一个上传的文件          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qvalidator.html">QValidator</a>
          </h4>
          <p class="class-summary">
            QValidator 提供了一组验证方法，以及调用验证方法的接口          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-helper-yaml.html">Helper_YAML</a>
          </h4>
          <p class="class-summary">
            Helper_YAML 提供 yaml 文档的解析和输出服务          </p>
      
    </div>
  </div>

  
  <div class="package" id="package-cache">

    <h2>包 - cache</h2>

    <div class="package-classes">
            <tr>
                  
<p>QeePHP 支持多种缓存方式，最大程度的提高运行效率。</p>

<p>主要支持的缓存类型：</p>

<ul>
	<li>基于文件的缓存</li>

	<li>APC</li>

	<li>XCache</li>

	<li>Memcached</li>
</ul>

        
          <h4 class="class-name">
            <a href="./class-qcache-apc.html">QCache_APC</a>
          </h4>
          <p class="class-summary">
            QCache_APC 类使用 APC 扩展来缓存数据          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qcache-file.html">QCache_File</a>
          </h4>
          <p class="class-summary">
            QCache_File 类提供以文件系统来缓存数据的服务          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qcache-memcached.html">QCache_Memcached</a>
          </h4>
          <p class="class-summary">
            QCache_Memcached 使用 memcache 扩展来缓存数据          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qcache-memory.html">QCache_Memory</a>
          </h4>
          <p class="class-summary">
            QCache_Memory 在当次请求中使用内存来缓存数据          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qcache-phpdatafile.html">QCache_PHPDataFile</a>
          </h4>
          <p class="class-summary">
            QCache_PHPDataFile 类以 .php 文件来保存 PHP 的变量内容          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qcache-xcache.html">QCache_XCache</a>
          </h4>
          <p class="class-summary">
            QCache_XCache 类使用 XCache 扩展来缓存数据          </p>
      
    </div>
  </div>

  
  <div class="package" id="package-webcontrols">

    <h2>包 - webcontrols</h2>

    <div class="package-classes">
            <tr>
                  
<p>WebControls 是用户界面组件化的核心架构。</p>

<p>QeePHP 的 WebControls
不但提供了一个可扩展的用户界面控件创建机制，还附带了大量常用的用户界面控件。</p>

<p>主要特征：</p>

<ul>
	<li>用户界面组件化</li>

	<li>支持自定义控件</li>

	<li>支持控件的无线级嵌套</li>

	<li>附带的标准控件</li>

	<li>与 QForm 的完美集成</li>
</ul>

        
          <h4 class="class-name">
            <a href="./class-qui-control-abstract.html">QUI_Control_Abstract</a>
          </h4>
          <p class="class-summary">
            QUI_Control_Abstract 是用户界面控件的基础类          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-control-input-abstract.html">Control_Input_Abstract</a>
          </h4>
          <p class="class-summary">
            Control_Input_Abstract 类使所有输入框控件的基础类          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-control-button.html">Control_Button</a>
          </h4>
          <p class="class-summary">
            Control_Button 封装各种类型的按钮          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-control-checkbox-abstract.html">Control_Checkbox_Abstract</a>
          </h4>
          <p class="class-summary">
            Control_Checkbox_Abstract 是所有多选框的基础类类          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-control-checkbox.html">Control_Checkbox</a>
          </h4>
          <p class="class-summary">
            构造一个多选框          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-control-checkboxgroup-abstract.html">Control_CheckboxGroup_Abstract</a>
          </h4>
          <p class="class-summary">
            Control_CheckboxGroup_Abstract 是群组多选框的基础类          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-control-checkboxgroup.html">Control_CheckboxGroup</a>
          </h4>
          <p class="class-summary">
            构造一个多选框组          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-control-dropdownlist.html">Control_DropdownList</a>
          </h4>
          <p class="class-summary">
            Control_DropdownList 构造一个下拉列表框          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-control-hidden.html">Control_Hidden</a>
          </h4>
          <p class="class-summary">
            构造一个隐藏表单控件          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-control-label.html">Control_Label</a>
          </h4>
          <p class="class-summary">
            构造一个标签控件          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-control-listbox.html">Control_Listbox</a>
          </h4>
          <p class="class-summary">
            构造列表框          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-control-memo.html">Control_Memo</a>
          </h4>
          <p class="class-summary">
            构造一个多行文本框          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-control-password.html">Control_Password</a>
          </h4>
          <p class="class-summary">
            密码输入框          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-control-radio.html">Control_Radio</a>
          </h4>
          <p class="class-summary">
            构造一个单选按钮          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-control-radiogroup.html">Control_RadioGroup</a>
          </h4>
          <p class="class-summary">
            构造一组单选按钮          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-control-reset.html">Control_Reset</a>
          </h4>
          <p class="class-summary">
            构造一个表单重置按钮          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-control-static.html">Control_Static</a>
          </h4>
          <p class="class-summary">
            构造一个静态控件          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-control-submit.html">Control_Submit</a>
          </h4>
          <p class="class-summary">
            构造一个表单提交按钮          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-control-textbox.html">Control_Textbox</a>
          </h4>
          <p class="class-summary">
            单行文本框          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-control-upload.html">Control_Upload</a>
          </h4>
          <p class="class-summary">
            构造一个上传文件选择框          </p>
      
    </div>
  </div>

  
  <div class="package" id="package-behavior">

    <h2>包 - behavior</h2>

    <div class="package-classes">
            <tr>
                  
<p>行为插件是 QeePHP 为 ActiveRecord
提供的扩展机制，允许开发者透明的改变模型工作方式。</p>

<p>QeePHP 自带的行为插件包括：</p>

<ul>
	<li>快速生成仿 UUID</li>

	<li>对象关系助手</li>

	<li>对象属性唯一性检查</li>

	<li>用户角色绑定</li>
</ul>

<p>更多的行为插件可以在 <a
href="http://qeephp.com/projects">QeePHP.com 开源项目与插件平台</a>
上获得。</p>

        
          <h4 class="class-name">
            <a href="./class-model-behavior-acluser.html">Model_Behavior_AclUser</a>
          </h4>
          <p class="class-summary">
            Behavior_AclUser 实现基于 ACL 的用户访问控制          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-model-behavior-fastuuid.html">Model_Behavior_Fastuuid</a>
          </h4>
          <p class="class-summary">
            Behavior_Fastuuid 为模型生成 64 位整数或混淆字符串的不重复 ID          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-model-behavior-relation.html">Model_Behavior_Relation</a>
          </h4>
          <p class="class-summary">
            Behavior_Relation 为 ActiveRecord 添加一组直接操作关联对象的方法          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-model-behavior-uniqueness.html">Model_Behavior_Uniqueness</a>
          </h4>
          <p class="class-summary">
            Behavior_Uniqueness 用于检查指定的属性是否存在重复值          </p>
      
    </div>
  </div>

  
  <div class="package" id="package-exception">

    <h2>包 - exception</h2>

    <div class="package-classes">
            <tr>
                  
<p>包含了 QeePHP 自带的所有异常类。</p>

<p>QeePHP 充分利用异常来指示错误，包含了大量的异常类。</p>

        
          <h4 class="class-name">
            <a href="./class-qcache-exception.html">QCache_Exception</a>
          </h4>
          <p class="class-summary">
            QCache_Exception 异常封装所有的缓存错误          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-q-classfileexistsexception.html">Q_ClassFileExistsException</a>
          </h4>
          <p class="class-summary">
            Q_ClassFileExistsException 异常指示类定义文件已经存在          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-q-classnotdefinedexception.html">Q_ClassNotDefinedException</a>
          </h4>
          <p class="class-summary">
            Q_ClassNotDefinedException 异常指示指定的文件中没有定义需要的类          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-q-createdirfailedexception.html">Q_CreateDirFailedException</a>
          </h4>
          <p class="class-summary">
            Q_CreateDirFailedException 异常封装指示创建目录失败          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-q-createfilefailedexception.html">Q_CreateFileFailedException</a>
          </h4>
          <p class="class-summary">
            Q_CreateFileFailedException 异常指示创建文件失败          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-q-filenotfoundexception.html">Q_FileNotFoundException</a>
          </h4>
          <p class="class-summary">
            Q_FileNotFoundException 异常指示文件没有找到错误          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-q-filenotreadableexception.html">Q_FileNotReadableException</a>
          </h4>
          <p class="class-summary">
            Q_FileNotReadableException 异常指示文件无法读取错误          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-q-illegalclassnameexception.html">Q_IllegalClassNameException</a>
          </h4>
          <p class="class-summary">
            Q_IllegalClassNameException 异常指示无效的类名          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-q-illegalfilenameexception.html">Q_IllegalFilenameException</a>
          </h4>
          <p class="class-summary">
            Q_IllegalFilenameException 异常指示存在无效字符的文件名          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qlog-exception.html">QLog_Exception</a>
          </h4>
          <p class="class-summary">
            QLog_Exception 异常封装与 QLog 有关的错误          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-q-notimplementedexception.html">Q_NotImplementedException</a>
          </h4>
          <p class="class-summary">
            Q_NotImplementedException 异常指示未实现的方法          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-q-removedirfailedexception.html">Q_RemoveDirFailedException</a>
          </h4>
          <p class="class-summary">
            Q_RemoveDirFailedException 异常指示删除目录失败          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-exception.html">QDB_Exception</a>
          </h4>
          <p class="class-summary">
            QDB_Exception 用于封装数据库操作相关的异常          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-exception-duplicatekey.html">QDB_Exception_DuplicateKey</a>
          </h4>
          <p class="class-summary">
            QDB_Exception_DuplicateKey 异常指示出现重复主键值错误          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-select-exception.html">QDB_Select_Exception</a>
          </h4>
          <p class="class-summary">
            QDB_Select_Exception 异常封装所有 QDB_Select 相关的错误。          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-table-exception.html">QDB_Table_Exception</a>
          </h4>
          <p class="class-summary">
            QDB_Table_Exception 异常封装所有 QDB_Table 的错误          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-acluser-exception.html">AclUser_Exception</a>
          </h4>
          <p class="class-summary">
            AclUser_Exception 异常是所有 acluser 插件异常的基础类          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-acluser-duplicateusernameexception.html">AclUser_DuplicateUsernameException</a>
          </h4>
          <p class="class-summary">
            AclUser_DuplicateUsernameException 异常指示重复的用户名          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-acluser-usernamenotfoundexception.html">AclUser_UsernameNotFoundException</a>
          </h4>
          <p class="class-summary">
            AclUser_UsernameNotFoundException 异常指示用户名不存在          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-acluser-wrongpasswordexception.html">AclUser_WrongPasswordException</a>
          </h4>
          <p class="class-summary">
            AclUser_WrongPasswordException 异常指示密码不正确          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qform-exception.html">QForm_Exception</a>
          </h4>
          <p class="class-summary">
            QForm_Exception 封装所有与 QForm 有关的错误          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdom-exception.html">QDom_Exception</a>
          </h4>
          <p class="class-summary">
            QDom_Exception 用于封装 DOM 操作相关的异常          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qvalidator-exception.html">QValidator_Exception</a>
          </h4>
          <p class="class-summary">
            QValidator_Exception 封装所有与验证有关的错误          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qvalidator-validatefailedexception.html">QValidator_ValidateFailedException</a>
          </h4>
          <p class="class-summary">
            QValidator_ValidateFailedException 异常封装了验证失败事件          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-association-exception.html">QDB_ActiveRecord_Association_Exception</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_Association_Exception 封装所有对象关联发生的错误          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-association-notdefinedexception.html">QDB_ActiveRecord_Association_NotDefinedException</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_Association_NotDefinedException 异常指示未定义的关联          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-association-rejectexception.html">QDB_ActiveRecord_Association_RejectException</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_Association_RejectException 异常指示某个操作被拒绝          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-behavior-exception.html">QDB_ActiveRecord_Behavior_Exception</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_Behavior_Exception 指示与行为插件相关的错误          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-exception.html">QDB_ActiveRecord_Exception</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_Exception 封装所有与 ActiveRecord 有关的错误          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-calltoundefinedmethodexception.html">QDB_ActiveRecord_CallToUndefinedMethodException</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_CallToUndefinedMethodException 异常指示未定义的方法          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-changingreadonlypropexception.html">QDB_ActiveRecord_ChangingReadonlyPropException</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_ChangingReadonlyPropException 指示某个属性是只读          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-compositepkincompatibleexception.html">QDB_ActiveRecord_CompositePKIncompatibleException</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_CompositePKIncompatibleException 异常指示某项功能与复合主键不兼容          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-destroywithoutidexception.html">QDB_ActiveRecord_DestroyWithoutIdException</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_DestroyWithoutIdException 指示视图删除一个没有主键值的对象          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-expectsassocpropexception.html">QDB_ActiveRecord_ExpectsAssocPropException</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_ExpectsAssocPropException 异常指示对象的关联属性没有设置          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-meta-exception.html">QDB_ActiveRecord_Meta_Exception</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_Meta_Exception 封装所有与 QDB_ActiveRecord_Meta 相关的错误          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-settingproptypemismatchexception.html">QDB_ActiveRecord_SettingPropTypeMismatchException</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_SettingPropTypeMismatchException 异常指示指定给属性的值类型不匹配          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-undefinedpropexception.html">QDB_ActiveRecord_UndefinedPropException</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_UndefinedPropException 异常指示未定义的属性          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdb-activerecord-validatefailedexception.html">QDB_ActiveRecord_ValidateFailedException</a>
          </h4>
          <p class="class-summary">
            QDB_ActiveRecord_ValidateFailedException 异常封装了 ActiveRecord 对象的验证失败事件          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qacl-exception.html">QACL_Exception</a>
          </h4>
          <p class="class-summary">
            QACL_Exception 异常封装了 QACL 相关的错误          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qrouter-exception.html">QRouter_Exception</a>
          </h4>
          <p class="class-summary">
            QRouter_Exception 异常封装路由相关的错误          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qrouter-invalidrouteexception.html">QRouter_InvalidRouteException</a>
          </h4>
          <p class="class-summary">
            QRouter_InvalidRouteException 异常指示无效的路由规则          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qrouter-routenotfoundexception.html">QRouter_RouteNotFoundException</a>
          </h4>
          <p class="class-summary">
            QRouter_RouteNotFoundException 异常指示指定的路由规则不存在          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qview-exception.html">QView_Exception</a>
          </h4>
          <p class="class-summary">
            QView_Exception 异常封装所有与 QView 相关的错误          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qui-exception.html">QUI_Exception</a>
          </h4>
          <p class="class-summary">
            QUI_Exception 封装所有与 QUI 有关的异常          </p>
      
    </div>
  </div>

  
  <div class="package" id="package-debug">

    <h2>包 - debug</h2>

    <div class="package-classes">
            <tr>
                  
<p>提供帮助进行应用程序调试的工具。</p>

        
          <h4 class="class-name">
            <a href="./class-qdebug.html">QDebug</a>
          </h4>
          <p class="class-summary">
            QDebug 为开发者提供了调试应用程序的一些辅助方法          </p>
            <tr>
        
          <h4 class="class-name">
            <a href="./class-qdebug-firephp.html">QDebug_FirePHP</a>
          </h4>
          <p class="class-summary">
            QDebug_FirePHP 类提供对 FirePHP 的支持          </p>
      
    </div>
  </div>

  	</div>
</div>

<script type="text/javascript">$("#tabs-packages").tabs();</script>


    </div>

    <!-- 整页 -->


